{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 第三章 算法分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Data structure is a systematic way of organizing and accessing data, and an algorithm is a step-by-step procedure for performing some task in\n",
    "a finite amount of time."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据结构是组织和访问数据的一种系统化方式。算法是在有限时间内一步步执行某些任务的步骤。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "实验中计算（算法）运行时间："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "50005000\n",
      "0.003989458084106445\n"
     ]
    }
   ],
   "source": [
    "from time import time\n",
    "\n",
    "start_time = time()\n",
    "cumsum = 0\n",
    "for i in range(10001):\n",
    "    cumsum += i\n",
    "end_time = time()\n",
    "\n",
    "print(cumsum)\n",
    "print(end_time - start_time)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "如果计算机上其他程序占用CPU，会影响算法运行时间，而`time()`给出的正是算法的运行时间，因此不是很好。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "实验研究的一些缺点：\n",
    "\n",
    "1. 由于硬件和软件条件的不同，实验很难直接比较两个算法的运行时间。\n",
    "2. 实验毕竟只提供了一组样本，没有实现的输入结果未知。\n",
    "3. 要做实验，需要先实现算法。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本章主要讲大O表示法。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "O(g(n))是指给定一个常数c，当n趋于无穷时（存在$n_0$，n>$n_0$时），算法运行时间f(n)小于等于c * g(n)，可以称作：f(n)是O(g(n))。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "多项式的最高次项决定了大O表示法中n的次数。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Python中求len(list)，由于list实例中记录了list长度，所以直接调用，运行时间为O(1)。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Python的list是基于数组序列执行的，list中的元素存储在连续的内存中，在调用第j个元素的时候，不需要通过迭代，而是直接根据第1个元素的内存地址来推算第j个元素的内存地址，调用第j个元素运行时间为O(1)。（这里相当于数组的访问元素的时间，是结合了Python的数据结构）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "判断序列中是否存在相同元素：\n",
    "\n",
    "1. 两层迭代，每个元素都判断是否与后面的元素相等，运行时间O($n^2$)。\n",
    "2. 快速排序+一层迭代（判断是否有相邻元素相等），运行时间O($nlog^n$)。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "目前来看，算法运行时间分为两种，一种是直接考虑各种 primitive operator 的数量，取增长速度最快的；一种是考虑各种数据结构的各种操作的运行时间。个人感觉这两种都应该优化，有时可以分开优化，有时又不得不全面考虑。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "练习："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "先画一下函数图像："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x16bfd2e8438>"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "\n",
    "x = np.linspace(1, 10, 10)\n",
    "y_1 = np.log2(x)\n",
    "y_2 = x\n",
    "y_3 = y_1*y_2\n",
    "y_4 = x**2\n",
    "y_5 = x**3\n",
    "y_6 = 2**x\n",
    "\n",
    "plt.figure(figsize=(8, 6))\n",
    "\n",
    "plt.plot(x, y_1, label='$log^n$')\n",
    "plt.plot(x, y_2, label='$n$')\n",
    "plt.plot(x, y_3, label='$nlog^n$')\n",
    "plt.plot(x, y_4, label='$n^2$')\n",
    "plt.plot(x, y_5, label='$n^3$')\n",
    "plt.plot(x, y_6, label='$2^n$')\n",
    "\n",
    "plt.ylim(0, 150)\n",
    "\n",
    "plt.xticks(ticks=range(1, 11), labels=range(1, 11))\n",
    "\n",
    "plt.legend(loc='upper left')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "R-3.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x16bfd786128>"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeYAAAFlCAYAAAA+t0u5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3QV1d7G8e+md0LvEHrvQaSooIiAKEpHQBGk2LggKuqLVy+KYkEQO17pvQmKYAFFUUANLYTeSegECCU92e8fJ3gRKSnnzDkneT5rsUgmM7OfuAy/7JldjLUWERER8Q1ZvB1ARERE/keFWURExIeoMIuIiPgQFWYREREfosIsIiLiQ1SYRUREfEg2bwcAKFq0qA0MDPR2DBEREcds2LDhtLW22NXHfaIwBwYGEhwc7O0YIiIijjHGHLrWcT3KFhER8SEqzCIiIj5EhVlERMSH+MQ75muJj48nPDycmJgYb0fxKbly5aJs2bJkz57d21FERMQDfLYwh4eHkz9/fgIDAzHGeDuOT7DWEhERQXh4OBUrVvR2HBER8QCffZQdExNDkSJFVJSvYIyhSJEieoogIpKB+WxhBlSUr0H/TUREMjafLswiIiKZjQqziIiID7lpYTbGlDPG/GSM2WGM2WaM+Vfy8cLGmB+MMXuS/y6UfNwYYyYaY/YaY0KMMY08/U140vjx46lduzZ16tShV69eN32/u3LlSvr27ZumtsLDw2ndujXjx4+nR48eabqHiIj4t5T0mBOAEdbamsCtwJPGmFrAC8Aqa21VYFXy5wDtgarJfwYBn7g9tUOOHDnCxIkTCQ4OJjQ0lMTERObOnXvDa7Zs2UL9+vXT1N6WLVt44IEHGD58ONmy+eyAeRER8aCbFmZr7TFr7cbkjy8AO4AyQCdgWvJp04AHkj/uBEy3LuuBAGNMKbcnd0hCQgLR0dEkJCQQFRVF6dKlAXjwwQcZNWoUt912GyVLlmTlypWAq7g2aNAAgJ07d3L77bdTu3Zt2rRpw+nTpwHYsWMHt99+O/Xq1eOdd96hSpUqf117zz33ABrkJSLiMxLjIXQRWOtIc6l6x2yMCQQaAr8DJay1x8BVvIHiyaeVAcKuuCw8+djV9xpkjAk2xgSfOnUq9ckdUKZMGZ599lnKly9PqVKlKFiwIG3btgUgNDSUgIAA1qxZw8cff8ysWbOA//WYY2Nj6dKlC++//z7btm3j7rvvZvz48SQkJNC7d2/ef/99QkJC2L9/P3Xq1AFg7969VKtWjdOnT1OyZEmvfd8i4h9atWpFq1atvB0jVfwxM6tGw8L+cGitI82l+HmpMSYfsAgYZq09f4Me3bW+8I9fM6y1k4BJAEFBQTf8NeQ/X29j+9HzKY2aIrVKF+CV+2rf8JyzZ8+ydOlSDhw4QEBAAN26dWPmzJl07tyZyMhIhg8fDrh61QEBAcTHx3P+/HmKFSvGvHnzaNmyJQ0bNnS1V6sWX331FYsXL6Z+/fp/O168uOt3msmTJwNQtGhR3n33Xbd+vyIikgY7lsHaiRA0AAJbONJkigqzMSY7rqI8y1q7OPnwCWNMKWvtseRH1SeTj4cD5a64vCxw1F2BnbRy5UoqVqxIsWKu7TI7d+7M2rVrqV69Oo0bNyZr1qwAhISEUKdOHbZv307NmjUB2L59O3Xr1v3rXlu3bqVWrVqEhIT89agbXD3vdu3aOfhdiUhGUbZsWW9HSDW/ynxmPyx5HEo3hHZvOtbsTQuzcXWNvwB2WGvfu+JLXwGPAGOT/156xfGnjDFzgaZA5OVH3ml1s56tp5QvX57169cTFRVF7ty5WbVqFUFBQYSGhv6tuIaEhNCpU6e/vV8uU6YMmzdvBmD//v3MmDGDX3/9lenTp7N7924ANm/ezMyZMxk5cqTz35yI+L2ZM2d6O0Kq+U3m+GiY9zCYLNBtGmTL6VjTKXnH3ALoC9xpjNmc/KcDroJ8tzFmD3B38ucAy4H9wF7gc+AJ98d2RtOmTenatSuNGjWibt26JCUlMWjQILZu3fqPXm+dOnX+NiK7b9++HD16lLp169KzZ08mT55MkSJF6Nu3L8HBwTRp0oTJkycTGBhIpUqVvPUtiojItSx/Dk5shc6fQ6EKjjZtrEOjzG4kKCjIBgcH/+3Yjh07/nosnJFcvHiRfPnyAfDOO+8QGRnJ66+/nqp7ZNT/NiKSOsOGDQNgwoQJXk6Scn6RedNMWPok3PYs3PWyx5oxxmyw1gZdfVyTZR02fvx45s6dS/bs2WnRogXvvffezS8SEbmGy6/L/InPZz6+Fb4ZARVvh9YveSWCCrPDXn75ZV5+2XO/gYmISBrFRML8hyF3IegyGbJk9UoMFWYRERFrYckTcPYQ9PsG8hXzWhQVZhERkXUfws5l0HYMVGjm1SgqzCIifqpatWrejpBqPpn50Dr44RWo0RGaPentNCrMIiL+atKkSd6OkGo+l/nCcVjwiGtK1AMfgw/sU6DCLCIimVNiPCx4FGLOQ98vIVdBbycCVJhFRPzWoEGDAB/shd6AT2X+4RU4vNa1iEgJ76wweS0qzCIifury8r7+xGcyb10I6z+CWwZDve7eTvM3qdr2UURExO+d3AFfPQ3lboW2qVt50QkqzG62ZMkSBg4cSKdOnfj++++9HUdERK4UEwnz+kCOfNBtKmTL4e1E/6DCfANhYWG0bt2amjVrUrt2bd5///2bXvPAAw/w+eefM3XqVObNm+dAShERSZHLi4icOeAqygVKeTvRNekd8w1ky5aNcePG0ahRIy5cuEDjxo25++67qVWr1k2vff3113nySe/PhxORjOvKXe78hVcz/zbBtYjIPW9CYAvv5bgJFeYbKFWqFKVKuX6jyp8/PzVr1uTIkSPUqlWLBx98kNq1a/Pzzz+zZ88eZs6cSZs2bbDW8sILL9C+fXsaNWrk5e9ARDIyn96h6Tq8lnn/alg1Gmp3hlsf906GFNKj7BQ6ePAgmzZtomnTpoBrD+aAgADWrFnDxx9/zKxZswD44IMPWLlyJQsXLuTTTz/1ZmQREQGIDIeF/aFodbj/A59YRORG/KPHvOIF11Zc7lSyLrQfm6JTL168SJcuXZgwYQIFChQgKiqKyMhIhg8fDkBCQgIBAQEADB06lKFDh7o3q4jINfTp0weAmTNnejlJyjmeOT7GtWNUQhz0mAk58znTbjr4R2H2ovj4eLp06ULv3r3p3LkzANu2baNx48ZkzeraEiwkJIQ6dep4M6aIZELh4eHejpBqjma2FpaPgCMboMcsKFolzbeKiU8kV3ZntoH0j8Kcwp6tu1lrGTBgADVr1uSZZ57563hoaOjfBjCEhITQqVMnb0QUEZHrCZ4Mm2bC7c9DzY5pvs23ocf599JQZj3WlKol8rsx4LX5R2H2kt9++40ZM2ZQt27dvwrxG2+8wdatW/961wyuQq0es4iIDzm8HlaMhKptodWLabqFtZYvfj3AmOU7qF82gEJ5nZnzrMJ8Ay1btsRa+4/jHTp0+Nvn+/fvdyqSiIjczPljrvfKAeVc62BnSf0458Qky+ivtzFt3SHa1ynJ+B4N9ChbRERurFmzZt6OkGoez5wQ6yrKsRfh4aWQOyDVt7gUm8DQOZtYtfMkg26vxAvtapAli3MjuVWYRUT81JtvvuntCKnm8cwrRkL4H9B9OhSvmerLT56Pof+0P9l+9DyvdapN32aB7s94EyrMIiKSMWyYChumQMtnoFbqB+TuOn6B/lP/5GxUHP99JIg7a5Rwf8YUUGEWEfFTXbp0AWDRokVeTpJyHssc9icsfw4q3wV3jkr15b/uOc3jMzeQO0dW5g9uRp0yBd2bLxV8ujBbazE+vkKL0641GE1EMqeIiAhvR0g1j2S+cALm94UCpaHLfyFL6gZpzQ8O46XFW6lSPB+T+zWhdEBu92dMBZ8tzLly5SIiIoIiRYqoOCez1hIREUGuXLm8HUVExDckxMGCR1zbOQ74AfIUTvGlSUmWcT/s4qOf9nFb1aJ81LsRBXJl92DYlPHZwly2bFnCw8M5deqUt6P4lFy5clG2bFlvxxAR8Q3fjoTD66DLF1Ay5etJxMQn8tzCEL7ecpRet5RjdKc6ZM/qG9tH+Gxhzp49OxUrVvR2DBER8VV/fuFa3avlcKjbNcWXnbkUx6DpwQQfOsvIdjUYckcln3oye9PCbIyZDHQETlpr6yQfmwdUTz4lADhnrW1gjAkEdgC7kr+23lo7xN2hRUQE7rrrLm9HSDW3ZT60FlY871rZ686XU3zZ/lMX6T/1T45GxvDRQ424t14p9+RxI3OzwUTGmNuBi8D0y4X5qq+PAyKttaOTC/Oya513I0FBQTY4ODg1l4iISGZ1LgwmtXItHjLwR8iVshHUfxw4w6AZwWQxhs8fDqJxhUKezXkTxpgN1tqgq4/ftMdsrf0lueBe66YG6A7cmd6AIiIiNxUXBXMfgsQ46DknxUV5yaYjPL8whLKFczOlXxMqFMnr4aBpl9433bcBJ6y1e644VtEYs8kY87Mx5rZ03l9ERK6jffv2tG/f3tsxUiVdma2Fr56C41td06KKVUvBJZaJq/YwbN5mGpYPYPHjzX26KEP6B3/1AuZc8fkxoLy1NsIY0xhYYoypba09f/WFxphBwCCA8uXLpzOGiEjmEx0d7e0IqZauzL9NgNBFcNcrUO2em54em5DIi4u3snjjETo3LMObXeqSM5szG1GkR5oLszEmG9AZaHz5mLU2FohN/niDMWYfUA34xwtka+0kYBK43jGnNYeIiGQCu7+Hlf+B2p1do7Bv4lxUHINmbOCPA2cY3qYaQ++q4lMjr28kPT3mNsBOa2345QPGmGLAGWttojGmElAV0J6IIiKSdqf3wKIBULIudPoIblJgD56+RP+pfxJ+Npr3ezagU4MyDgV1j5RMl5oDtAKKGmPCgVestV8APfn7Y2yA24HRxpgEIBEYYq09497IIiKSaUSfgzk9IWsO6DkbcuS54el/HjzDoOmuh7SzBjalSWDKVwLzFSkZld3rOsf7XePYIsB/VlMXEfFjHTt29HaEVEtV5sQEWNgfzh6Eh7+CgHI3PH3p5iM8tyCEsoVyM7lfEwKL+vYgr+u56TxmJ2ges4iI/MO3L8H6j+C+96Fxv+ue5hp5vZfxK3fTtGJhPuvbmIA8OZzLmUZpnscsIiLiuI3TXUW56ZAbFuXYhEReXLSVxZuO0LlRGcZ2rkeObL6x5nVaqTCLiPipVq1aAbB69Wqv5kiNFGU+tBaWPQOVWkPbMdc97eylOAbP2MAfB8/wzN3VePpO/xl5fSMqzCIi4jvOHoJ5faBQBeg2BbJeu0ztO3WRAclrXk/s1ZD765d2OKjnqDCLiIhviL3gGoGdlAC95kHua69lvW5fBENmbiBbFsOcgbd6fc1rd1NhFhER70tKhEUD4dQu6LMQila55mnzg8N4afFWAovmZUq/JpQrfOPpU/5IhVlERLzvx9dg9wpo/w5U/ue+SElJlne+38Unq/dxW9WifPhQIwrmzu6FoJ6nwiwi4qe6d+/u7Qipds3MW+bBr+MhqD/cMvAfX46OS+SZ+ZtZEXqch5qW5z/31yZ7Vv8eeX0jmscsIiLeE/YnTL0Xyt0Cfb+ErH/vBZ+8EMPAacGEHInk/zrUZEDLihli5DVoHrOISIYTFRUFQJ48/vOe9W+Zzx127a1coBR0n/6Porzj2HkGTP2Ts1HxfNanMW1rl/RGZMepMIuI+KkOHToA/jWP+a/M330Ns3tCQiz0WwZ5/r6m9Y87T/D07E3ky5WNBUOaUadMQW/E9QoVZhERcZiFhQPg1E7oswiKVf/fV6xl8m8HGfPNdmqVLsB/H25CyYK5vJjVeSrMIiLirDMHYM9muPc9qNz6r8PxiUm88tU2Zv9+mHtql2B8jwbkyZH5ylTm+45FRMR7LhyD80fh1uegyYC/DkdGx/PkrI38uvc0Q+6ozPP3VCdLlowxyCu1VJhFRMQZe1dBxH7IXRjavv7X4UMRl+g/9U8ORUTxdtd6dA+68faOGZ0Ks4iIn+rXr5+3I6TcyZ2woB/9bg+E20ZAlqwA/HHgDINnBGOBGQOa0qxyEa/G9AUqzCIifspvCvOl0zC7O2TLRb+JP0KAq0e8cEM4Ly4OoWyhPEzu14SKRfN6OahvUGEWEfFTp0+fBqBo0aJeTnIDCbEwtzdcPAH9lnM6ITdJJ08xZWMEn6zeR/PKRfikd2MK5smYy2umhQqziIif6tq1K+DD85itha+GQth66DoFyjam8x13sPfkRXJ0Gk2vW8ozulPGXl4zLVSYRUTEM35+C0LmQutRUKczxyKj2Xb0PFGxCXzYsRb9WwRmmOU13UmFWURE3G/LXFj9JjToDbc/S0j4OR6bFkxMfCLVSxZgQMuK3k7os/T8QERE3OvAGlj6FFS8HTpOYHnocbp/to7sWbNQu3RBAvQ++YZUmEVExH1O7YZ5vaFwJWz36Xz4yyGemLWR2qULsvSpFuTJkdXbCX2eHmWLiPipxx9/3NsR/u7iKZjVFbLmILbHPEYuPciSzUd5sGEZ3uxcl1zZs/peZh+k/ZhFRCT94qNh2n1wPJQzPb6k//dJbA47x3P3VOeJVpU1yOsatB+ziEgGExYWBkC5cl5ewjIpCRYPgvBgDredRM+FUZyNiufTPo1pV+fveyj7TGYfpsIsIuKn+vbtC/jAPOaVr8COr9hZ/0UeXFGAgDxcdw9ln8nsw1SYRUQk7f78AtZOZGvp7tz/Rx3qlc3P530bU7xA5tpD2Z1uOirbGDPZGHPSGBN6xbFXjTFHjDGbk/90uOJrLxpj9hpjdhlj7vFUcBER8bLd32OXP8e2fM14YP99dKxXhnmDblVRTqeU9JinAh8C0686Pt5a++6VB4wxtYCeQG2gNLDSGFPNWpvohqwiIuIrjmzEzn+E/Vkr0u30QP51d02evrOKBnm5wU0Ls7X2F2NMYArv1wmYa62NBQ4YY/YCtwDr0pxQRER8y9mDJMzsxsnEfDyS8CzvPNSce+uV8naqDCM975ifMsY8DAQDI6y1Z4EywPorzglPPiYiIm42YsQI5xuNOsPFyQ+QGBXN8Bxv8smADtQt+89BXtfjlcx+Jq2F+RPgNcAm/z0O6A9c6xnGNSdKG2MGAYMAypcvn8YYIiKZ13333edoezYuiuOfPkDh8+G8XugNPujfI9Xvk53O7I/StCSntfaEtTbRWpsEfI7rcTW4eshXTk4rCxy9zj0mWWuDrLVBxYoVS0sMEZFMbdeuXezatcuRtmJi49gysQclIkOYVeb/ePXJAWka5OVkZn+Vph6zMaaUtfZY8qcPApdHbH8FzDbGvIdr8FdV4I90pxQRkX8YPHgw4Pk5wSfPx7D+k0HcH/0La6qM4NE+w9I8yMupzP7spoXZGDMHaAUUNcaEA68ArYwxDXA9pj4IDAaw1m4zxswHtgMJwJMakS0i4r+2hkeyasorDEtcysGqj3Bb7397O1KGl5JR2b2ucfiLG5w/BhiTnlAiIuJ9y0KOsnLhp0zIMoXzFe8lsNcEb0fKFLTyl4iI/E1SkmXCyt2s+2kZs3N+RHyZphR4aDJk0U7BTlBhFhGRv1yKTeCZ+Zs5sD2YJbnfI2uhimTpPReyazUvp6gwi4j4qVGjRrn1fuFno3hsWjAXTxzguwLjyJ0jP6bvYshT2G1tuDtzRqTCLCLip9q0aeO2e/158AxDZmwgV+J5vi/2PnljY6HPCghw7zoT7sycUemFgYiIn9q8eTObN29O933m/XmYhz5fT7FcSawq+RF5L4VDr9lQorYbUv6duzJnZOoxi4j4qWHDhgFpnxOckJjEmOU7mPLbQe6oUoj/5hxP9n0bofs0CGzpxqT/k97MmYEKs4hIJhQZFc9TczayZs9p+jcPZFTSJ2TZ/D3cOw5qdfJ2vExNhVlEJJPZe/ICj00L5si5aN7qUpceF6bDLzPg9uegyWPejpfpqTCLiGQiP+48wdA5m8mVPQtzBt5K0MlF8Ms70OhhaP1/3o4naPCXiEimYK3lk9X7GDAtmApF8rD0qZYEXfoFlj8H1drDveMhjetfi3upxywi4qfeeOONFJ0XE5/IyEUhLN18lI71SvFO1/rkDv8VFg+Esk2g62TI6kw5SGnmzEyFWUTETzVv3vym5xyLjGbQ9A2EHo3kuXuq80Srypijm2DuQ1C4Mjw0D3LkcSCtS0oyZ3YqzCIifmrt2rXA9YvdhkNnGTxjA9FxCUzqG8TdtUrAqd0wq6trNS83r+qVEjfLLCrMIiJ+66WXXgKuPSd4fnAYo74MpWTBXMwe2JRqJfJDZDjMeBBMFui7BAqUdjjxjTOLiwqziEgGEp+YxJhvdjB17UFaVCnCh70aUShvDrgU4SrKseeh3zIoUtnbUeU6VJhFRDKIs5fieHL2Rtbui6B/i4q81KEG2bJmgdgLrsfXZw+5Hl+Xqu/tqHIDKswiIhnAzuPnGTg9mBORsbzTtR7dgsq5vpAQC/P6wLEt0GOmx5baFPdRYRYR8XMrth5jxIIt5MuZjXmDb6Vh+UKuLyQlwuJBsH81PPAJ1Ojg1ZySMirMIiJ+6r33xjPrj8M8PmsjDcoF8FnfxpQokMv1RWvhmxGwfQm0HQMNHvJu2GQTJkzwdgSfp8IsIuKHLsYm8EloIj8czEaXRmUZ82AdcmXP+r8TVr4KG6ZAy+HQ/Cmv5bxagwYNvB3B52lJThERP3Pw9CUe/Og3lq34jq4lz/But3p/L8prxsFvEyCoP9z1iveCXsPKlStZuXKlt2P4NPWYRUT8yOpdJxk6ZxNZshhK7l9O8LHsmGF9/3fCH5/DqtFQtxt0GOdz61+//vrrALRp08bLSXyXeswiIn7g8iYUj079k9IBufn6qZYUzJ397ydtmQvLn4XqHVyDvbLon3h/pB6ziIiPi45L5PlFIXy95Sj31ivFO13rkSfHVf987/galjwBFe+ArlMga/Zr30x8ngqziIgPCzsTxeAZG9hx/Dwj29VgyB2VMFc/nt73IyzsD2UaQc/ZkD2Xd8KKW6gwi4j4qLX7TvPkrI0kJFkm92tC6+rF/3lS7HmY2xuKVoPeCyBnPueDilupMIuI+BhrLVPXHuT1b3ZQsWhePn84iIpF8/7jvM9eewa+HAz5S0HfLyF3IS+kTZ3PPvvM2xF8ngqziIgPiYlP5KUvt7J44xHa1CzB+B71yZ/rGu+LT++h+rrhULYwPLwU8l2jN+2Dqlev7u0IPu+mQ/aMMZONMSeNMaFXHHvHGLPTGBNijPnSGBOQfDzQGBNtjNmc/OdTT4YXEclIjpyLptun61i88QjD21RjUt/G1y7KZw7AtPv5ekcUX5cYCgHlnA+bRl9//TVff/21t2P4NGOtvfEJxtwOXASmW2vrJB9rC/xorU0wxrwFYK0daYwJBJZdPi+lgoKCbHBwcBrii4hkDOv2RfDU7I3EJSQxvkcD2tQqce0Tz4XBlA4Qd5FWS4tBjjx+tbdxq1atAO3HDGCM2WCtDbr6+E17zNbaX4AzVx373lqbkPzpeqCsW1KKiGQy1lqm/HaAPl/8TkCe7Cx5qsX1i/L5YzD9foiJdL1TzpHH2bDiCHe8Y+4PzLvi84rGmE3AeWCUtXaNG9oQEclwrnyffHetErzX/TrvkwEunoLpneDiSei7BEprzemMKl2F2Rjzf0ACMCv50DGgvLU2whjTGFhijKltrT1/jWsHAYMAypcvn54YIiJ+58i5aIbM2MDWI5EMb1ONp++sQpYs11k+M+oMzHgAzh2GPougXBNnw4qj0lyYjTGPAB2Bu2zyi2prbSwQm/zxBmPMPqAa8I8XyNbaScAkcL1jTmsOERF/c+X75C8eCeKumtd5dA2ux9YzO8PpPfDQXAhs4VxQ8Yo0FWZjTDtgJHCHtTbqiuPFgDPW2kRjTCWgKrDfLUlFRPyctZYvfj3Amyt2UrFoXj7r25jKxW6wIEjsRZjVDY5vhR6zoPKdf/vyjBkzPJzY/fwxs9NuWpiNMXOAVkBRY0w48ArwIpAT+CF5abj11tohwO3AaGNMApAIDLHWnrnmjUVEMpHouERGLgrhqy1HaVe7JO92r0++nDf4Jzg+Gub0hPA/odtUqN7uH6eUK+c/06Qu88fMTrtpYbbW9rrG4S+uc+4iYFF6Q4mIZCSHI6IYNCOYXScu8Nw91XmiVeV/rnd9pfgY1zKbB3+FzpOgVqdrnjZvnmvcbY8ePTwR2yP8MbPTtPKXiIgH/bz7FEPnbAJgSr8mtLrWetdXSoiF+X1h3yq4/0Oo1/26p37yySeAfxU5f8zsNBVmEREPsNby8ep9vPv9LqqXyM+kvkGUL3KTeccJcTD/EdjzPdz3PjTq60xY8SkqzCIibnYxNoFn52/h223Hub9+acZ2qfvP/ZOvlhAHC/rB7hVw73vQuJ8TUcUHqTCLiLjR3pMXGTwjmIMRUYy6tyYDWla88ftkgMR4WNQfdn0DHd6FJgOcCSs+SYVZRMRNvg09zrMLtpAzWxZmDmhKs8pFbn5RYgIsegx2fA3t3oJbBno+qPg0FWYRkXRKTLK8+/0uPlm9j/rlAvi0TyNKFcydggsT4MtBsH0J3PMG3DokVe0uXLgwjYm9xx8zO02FWUQkHc5ciuNfczexZs9pHmpanlfuq0XObFlvfmFSIiwZAqGL4O7R0OzJVLddtGjRNCT2Ln/M7DQVZhGRNNoaHsmQmRs4dTGWt7rUpUeTFK77n5QIS5+ErQvgrlegxb/S1P7UqVMB6NevX5qu9wZ/zOw0FWYRkTSYHxzGqCWhFM2bg4VDmlGvbEDKLkxKhCWPQ8g8uHMU3PZMmjP4Y5Hzx8xOU2EWEUmF2IRERn+9nVm/H6ZFlSJM7NmQIvlypuzixATX4+utC+DOl+H2Zz0bVvySCrOISAodPRfN47M2siXsHIPvqMRzbauTLWuWlF18eaBX6CJo8yq0HO7JqOLHVJhFRFLgt72neXrOJuISkvi0TyPa1SmV8osT411TorYvcQ30SuM7ZckcVJhFRG7AWssnP+/j3e92UblYPj692VaNV0uMh4X9YcdX0HYMNH/Kc2ElQ3fxJ8UAACAASURBVFBhFhG5jvMx8Tw7fwvfbz9Bx3qleKtLPfLeaKvGqyXEwcJHYecyuOdNaPaEW/MtX77crfdzgj9mdpoKs4jINew6foEhMzcQdiaKf3esxaMtAm++tOaVEmJda1/vWg7t34amg92eMU+em2yK4YP8MbPTVJhFRK6ydPMRXli0lXy5sjF74K3cUrFw6m6QEAvzH4bd37rWvvbQMpsff/wxAE884d6euCf5Y2anqTCLiCSLS0hizDfbmbbuEE0CC/HRQ40oXiBXKm8SBfN6w74f4d5x0OQxz4QF5s+fD/hXkfPHzE5TYRYRwTUV6snZG9l0+ByPtazIyPY1yJ7SqVCXxV6EOT3h4K9w/4faT1nSRIVZRDK9X/ecZujcTcTGJ/Jx70Z0qJuKqVCXxUTCzK5wZAN0ngT1urs/qGQKKswikmklJVk+Xr2XcT/spkpapkJdFnUGZnaG41uh2xSo1cn9YSXTUGEWkUwpMiqe4fM38+POk9xfvzRvdq6buqlQl108BTMegNO7occsqN7O/WElU1FhFpFMJ/RIJI/P2sDxyBhGd6pN31srpG4q1GXnj8H0++FcGDw0Dyrf6f6wN7B69WpH23MHf8zsNBVmEck0rLXMDw7j5aXbKJI3B/MGN6NR+UJpu9m5MJh2H1w6BX0WQmBL94aVTEuFWUQyhei4RF5eGsrCDeG0rFKUCT0bUDSlu0Jd7cx+mNbJNeCr7xIo18S9YVPo3XffBeDZZ/1nlyp/zOy0VM4FEBHxP/tPXeTBj39j0cZwht5VlWn9b0l7UT65Aya3h7gL8MhXXivKAMuWLWPZsmVeaz8t/DGz09RjFpEMbfnWYzy/MIRsWQ1T+jWhVfXiab/ZkQ0wswtkzQn9lkOJWu4LKpJMhVlEMqT4xCTGrtjJF78eoH65AD7u3YgyAbnTfsODv8LsnpCnEDy8FApXcl9YkSuoMItIhnMsMpqnZm9iw6Gz9GseyEsdapIjWzre3O3+zrX2dUAFeHgJFCjtvrAiV0lRYTbGTAY6AiettXWSjxUG5gGBwEGgu7X2rHHNOXgf6ABEAf2stRvdH11E5J/W7DnFv+ZuJjY+kQ96NeS++uksoqGLYPEgKFEb+iyGvEXdE9QNcudOxxMAL/HHzE4z1tqbn2TM7cBFYPoVhflt4Iy1dqwx5gWgkLV2pDGmA/A0rsLcFHjfWtv0RvcPCgqywcHB6fxWRCQzS0yyTFy1h4k/7qFKsXx80qcxVYqnYRWvK22YCl8Pg/K3uuYp5yrolqwiAMaYDdbaoKuPp6jHbK39xRgTeNXhTkCr5I+nAauBkcnHp1tXxV9vjAkwxpSy1h5LW3QRkRs7fTGWYXM38+ve03RuVIbXH6hDnhzpfFO39gP4fhRUaQPdZ0AO7SMszkjP/7klLhdba+0xY8zloY5lgLArzgtPPqbCLCJu98eBMzw1eyOR0fG83aUe3YLKpm0Vr8ushZ/egF/ehloPQOfPIVsO9wV2o9deew2Al19+2ctJUs4fMzvNE/OYr/UT8Y/n5caYQcaYYGNM8KlTpzwQQ0QysqQky6c/76PX5+vJmzMbXz7Rgu5NyqWvKCclwjcjXEW5YR/oOtlnizLAqlWrWLVqlbdjpIo/ZnZaenrMJy4/ojbGlAJOJh8PB8pdcV5Z4OjVF1trJwGTwPWOOR05RCSTORcVx4j5W1i18yT31i3F2C51yZ8re/pumhALXw6GbV9C86Fw92hIT5EXSaP09Ji/Ah5J/vgRYOkVxx82LrcCkXq/LCLusiXsHPdO/JVf9pziP/fX5sOHGqa/KMdegNndXUX57tHQ9jUVZfGalE6XmoNroFdRY0w48AowFphvjBkAHAa6JZ++HNeI7L24pks96ubMIpIJWWuZ8ttB3lyxg+L5c7FwSHPqlwtI/40vRcCsrnBsC3T6yPUIW8SLUjoqu9d1vnTXNc61wJPpCSUicqXI6HieX7iF77adoE3NErzbrR4Bedzw7vdcGMx4ECLDoMdMqNEh/fd0UJEiRbwdIdX8MbPTUjSP2dM0j1lErick/BxPzt7IsXMxvNC+BgNaVkzfAK/LTu1yFeXYC9BrLgS2SP89RVIhXfOYRUScZq1l2tqDjFnuenQ9f0g69k6+Wniw6/F1luzw6HIoWdc99xVxAxVmEfE552PiGbkwhBWhx7mrRnHGda/vnkfXAHt+cK17na+4ay/lwhXdc18vePHFFwF48803vZwk5fwxs9NUmEXEp4QeieSJWRs5ci6alzrUYOBtldzz6Bpg00z4aqhr3eveCyF/Cffc10vWrVvn7Qip5o+ZnabCLCI+wVrL9HWHGPPNDormy8H8wbfSuEJhd90cfnkXfnodKrWGHjMgZ3733FvEzVSYRcTrIqNdj66/3XacO2sUZ1y3+hTK66ZH10mJsPxZCJ4M9XrA/R/69GpeIirMIuJVm8PO8dTsjRyPjGHUvTXdN+oaIC4KFj0Gu76BlsPhrle0cIj4PBVmEfEKay1f/HqAsSt2UqJALhYMaUZDd426Bog6A7N7QPif0P4daDrIfff2EWXLlvV2hFTzx8xO0zxmEXHcuag4nl2whZU7TnJP7RK83aU+BfOkc1nNK509BDO7wLnD0OVzqNXJffcWcRPNYxYRn7Dh0Bmenr2J0xfjePW+WjzSPNB9j64BjoXArG6QEA0PL4EKzd13bxEHqDCLiCOSkiyf/rKPcd/vpkxAbhY93py6ZQu6t5E9P8CCfpArAPp/B8Vruvf+PmbYsGEATJgwwctJUs4fMztNhVlEPO7UhViemb+ZNXtO07FeKd7oXJcC6d0R6mrBk+GbZ11zlB+aDwVKuff+Pmjz5s3ejpBq/pjZaSrMIuJRa/acYvi8LVyMjWds57r0aFLOvY+uk5Jg1avw2/tQtS10nQI587nv/iIOU2EWEY+IT0xi/A+7+eTnfVQplo/ZA5tSrYSbF/WIj4ElQ1z7KAf1d42+zqp/1sS/6f9gEXG78LNR/GvuZjYcOkuvW8rx7461yZ0jq3sbuRQBcx+CsPVw92vQ/GnNUZYMQYVZRNzq29BjPL8whCQLH/RqyH31S7u/kYh9rpHXkeHQbSrUftD9bfiBatWqeTtCqvljZqdpHrOIuEVMfCJjvtnBjPWHqFe2IB/0akiFInnd39Dh32FOT9fHveZC+abub0PEAZrHLCIes+fEBZ6es4mdxy/wWMuKPN+uBjmyZXF/QyELYOmTULCMa3eoIpXd34aIl6kwi0iaWWuZ80cYo5dtI2+ObEx5tAmtqxd3f0NJSbD6TfjlbajQ0rU7VB437TzlxwYNci0zOmnSJC8nSTl/zOw0FWYRSZPI6HheWryVb7Yeo2WVorzXoz7F8+dyf0Px0bDkcdfI64Z94N7x2h0q2e7du70dIdX8MbPTVJhFJNU2HDrD0DmbOXE+hhfa12DQbZXIksUDI6IvnIC5veDIRrh7NDQfqpHXkuGpMItIiiUmWT5ZvZfxK/dQOsADO0Jd6fhWmN0Tos9Aj5lQs6Nn2hHxMSrMIpIixyNjGD5vM+v2R3B//dK8/mAd9y+redmub2HRAMiZHx5dAaUbeKYdER+kwiwiN/XdtuOMXBRCXEISb3etR7fGZd27rOZl1sK6j+D7UVCqnms6VAEPzIPOIBo08L9fWPwxs9M0j1lEris6LpHXvtnO7N8PU7dMQd7v2YBKxTy0DnVCLCx7BjbPhJr3wYOfQQ4PzIMW8RGaxywiqbL96HmGzt3E3pMXGXx7JUa0re6ZucngGuQ1rw+E/wF3jIQ7XoAsHmpLxMepMIvI31hrmbr2IG8u30lAnuzMHNCUllWLeq7Bo5tgbm+IOpOpl9dMiz59+gAwc+ZMLydJOX/M7DQVZhH5y+mLsTy3YAs/7TpFm5rFeatLPYrky+m5BrcudK3klacoDPgOStX3XFsZUHh4uLcjpJo/ZnZamguzMaY6MO+KQ5WAfwMBwEDgVPLxl6y1y9OcUEQcsXrXSZ5dEML5mHhGd6pN31sreGaAF7hW8vrpdVgzDsrd6lrJK58HVgwT8UNpLszW2l1AAwBjTFbgCPAl8Cgw3lr7rlsSiohHxcQnMnbFTqauPUj1EvmZ+dgt1ChZwHMNxl6AxYNg13Jo2BfuHQfZPNgrF/Ez7nqUfRewz1p7yGO/YYuI2+08fp5/zdnMrhMXeLRFICPb1SBXdjfvm3yliH2u98mnd0P7t+GWQVrJS+Qq7irMPYE5V3z+lDHmYSAYGGGtPeumdkTEDZKSXAO8xn67kwK5sjP10Sa08sTmE1fa84Nr0RAM9FkElVt7tr1MoFmzZt6OkGr+mNlp6Z7HbIzJARwFaltrTxhjSgCnAQu8BpSy1va/xnWDgEEA5cuXb3zo0KF05RCRlDl5PoZnF4bwy26HBnhZC2vehR/HQIk6rvfJhSt6rj0RP+HJecztgY3W2hMAl/9ObvRzYNm1LrLWTgImgWuBETfkEJGb+GH7CUYuCuFSbAKvPVCHPk3Le26AF7jeJ385BHYug7rd4L6JkCOP59oTyQDcUZh7ccVjbGNMKWvtseRPHwRC3dCGiKRDVFwCr3+zg9m/H6ZWqQJM7NWAKsXze7bR03tc75Mj9sI9b8CtT+h9spt16dIFgEWLFnk5Scr5Y2anpaswG2PyAHcDg684/LYxpgGuR9kHr/qaiDhsS9g5hs3bzMGISwy6vRIj2lYjZzYPDvAC2LXCNfI6a3Z4eAlUvN2z7WVSERER3o6Qav6Y2WnpKszW2iigyFXH+qYrkYi4RUJiEp+s3seEVXsokT8nsx5rSvPKHlzBC1zzk39+C34eC6UauLZrDCjn2TZFMhit/CWSAR2KuMTweZvZePgc99cvzWsP1KFgbg9t0XhZ9FlYPBj2fAf1H4KO70H23J5tUyQDUmEWyUCstSzYEM5/vtpGliyG93s2oFODMp5v+OgmmP8wnD8GHd6FJo/pfbJIGqkwi2QQZy/F8eLirXy77ThNKxbmvR4NKBPg4R6rtbBxGix/HvIWg/7fQtl/zP4QD7nrrru8HSHV/DGz07Qfs0gG8NOukzy/MIRzUXE827Y6j91WiaxZPNxjjYuC5c/C5llQ+U7o/F/IW+Tm14kIoP2YRTKkqLgExnyzg1m/H6ZaiXxMfbQJtUsX9HzDEftg/iNwIjR5/+SRkMXDI71FMgkVZhE/tenwWZ6Zv4WDEZcYeFtFRrSt7tl1ri/bsQyWPO4qxL0XQNW7Pd+mXFP79u0BWLFihZeTpJw/ZnaaCrOIn4lPTOKDVXv4aPU+ShbIxezHbqVZZQceISfGw6rRsHYilG4I3aZBoQqeb1euKzo62tsRUs0fMztNhVnEj+w9eYHh87aw9UgkXRqV5ZX7a1Egl4enQQGcC3NtQBH2OwT1h3ZjtVWjiIeoMIv4gaQky7R1Bxm7Yid5cmTl0z6NaFenlDON7/oWlgyBxATo8gXU7epMuyKZlAqziI87ci6a5xZsYe2+CFpXL8ZbXetRPH8uzzecGA8rX4V1H0LJetBtKhSp7Pl2RTI5FWYRH2WtZeGGcEZ/vZ0kaxnbuS49mpTz7G5Ql507DAv7Q/ifrsVC2o6B7A78MiCp0rFjR29HSDV/zOw0zWMW8UGnLsTy4uKtrNxxglsqFmZct/qUK+zQdok7v4ElT4BNgvsnQu0HnWlXJJPRPGYRP7Fi6zH+b0koF2MTGHVvTfq3qEgWTy8WApAQ53p0vf4j1wYU3aZA4Uqeb1dE/kaFWcRHREbF88pXoSzZfJS6ZQryXvf6VC3h4T2TLzu9Fxb1h2Nb4JbB0PY1jbr2A61atQJg9erVXs2RGv6Y2WkqzCI+YPWuk7ywaCunLsYyrE1VnmxdhexZs3i+YWtdS2ouf95ViHvOgRodPN+uiFyXCrOIF12IiWfMNzuY+2cYVYvnY9LDjalXNsCZxqPPwbLhsG0xBN4GnSdBgdLOtC0i16XCLOIlv+09zfMLQzgWGc2QOyozrE1VZ5bUBDj8Oyx6DM4fgbv+DS2Gaa1rER+hwizisEuxCby5Ygcz1x+mUtG8LBjSnMYVCjnTeFIirBkHq8dCwbLQ/zso18SZtkUkRVSYRRy0fn8Ezy3cQvjZaB5rWZFn73Fo4wmAyHBYPBgO/Qp1ukLH9yCXAztRicd0797d2xFSzR8zO03zmEUcEB2XyNvf7WTKbwepUCQP73Stzy0VCzsXIGQBfDMCkhLg3nehfi9wYqESEbkuzWMW8ZI/Dpzh+YVbOBgRxSPNKjCyfQ3y5HDoRy/6rKsghy6CsrdA5880NzkDiYqKAiBPHocWn3EDf8zsNBVmEQ+Jikvg7W93MW3dQcoWys3sgU1pXrmocwH2r3at4HXxBLQeBS2HQ1b9yGckHTq4prb505xgf8zsNP2UinjA+v0RPL8whMNnoujXPJDn7qlO3pwO/bjFx7j2TV7/ERSpCgN+gDKNnGlbRNJNhVnEjS7FJvDWtzuZvu4QFYrkYe6gW7m1UhHnAhzfCosGwqkdrs0n7n4NcuiRoYg/UWEWcZO1e0/z/KIQjpyL5tEWrl6yY++SkxJh7UT4cQzkKQy9F0LVu51pW0TcSoVZJJ0uxMQzdsVOZv1+mIpF8zJ/cDOaBDo44vr0HljyuGuLxpr3Qcf3Ia+DvXQRcSsVZpF0+GnXSf5v8VaOnY9hQMuKPNu2OrlzODQvOSkJfv8UVv0HsuWCzv+Ful01DSoT6devn7cjpJo/Znaa5jGLpMG5qDhGf72dxZuOULV4Pt7qWo9G5R1avQvgzH5Y8iQcXgtV74H73ocCpZxrX0TSzWPzmI0xB4ELQCKQYK0NMsYUBuYBgcBBoLu19mx62xLxBSu2HuPlpds4FxXH03dW4ak7q5Azm4O95OAv4IdXXGtbd/oIGvRWLzmTOn36NABFizo4DS+d/DGz09z1KLu1tfb0FZ+/AKyy1o41xryQ/PlIN7Ul4hUnL8TwytJtrAg9Tp0yBZje/xZqlS7gXIBzYbD0STjwM1RqDZ0+dK13LZlW165dAf+aE+yPmZ3mqXfMnYBWyR9PA1ajwix+ylrL4o1HGL1sO9HxiYxsV4OBt1UkmxP7JYOrl7xhiquXbJOg43ho/Kh6ySIZlDsKswW+N8ZY4DNr7SSghLX2GIC19pgxprgb2hFxXNiZKF76citr9pwmqEIh3upaj8rF8jkXIGIffDXUtfFExTvg/olQKNC59kXEce4ozC2stUeTi+8PxpidKbnIGDMIGARQvnx5N8QQcZ/EJMuU3w4w7vvdZDEwulNt+jStQJYsDvVSExNg/cfw0xjImhPu/xAa9lEvWSQTSHdhttYeTf77pDHmS+AW4IQxplRyb7kUcPIa100CJoFrVHZ6c4i4y45j53lhUQhbwiO5s0ZxXn+gDqUDcjsX4MQ217vko5ug+r1w7ziNuBbJRNJVmI0xeYEs1toLyR+3BUYDXwGPAGOT/16a3qAinhYTn8iHP+7l05/3UTB3dib2ash99UphnOqlJsTCmnGuP7kCoOtkqN1ZvWS5rscff9zbEVLNHzM7LV3zmI0xlYAvkz/NBsy21o4xxhQB5gPlgcNAN2vtmevdR/OYxdt+3x/Bi4u3sv/0Jbo0Ksuoe2tSKG8O5wKE/eF6l3xqB9TtDu3GavUukQzOI/OYrbX7gfrXOB4B3JWee4s4ITIqnrHf7mTOH4cpWyg3Mwbcwm1VizkXIPqca+Wu4ClQoDQ8NB+q3eNc++LXwsLCAChXrpyXk6ScP2Z2mpbklEzJWsuykGP85+vtnLkUy8DbKjL87mrObTphLWz7Er59AS6dglufgNYvQs78zrQvGULfvn0B/5oT7I+ZnabCLJlO2JkoXl4ayupdp6hbpiBTH21CnTIFnQtw9hAsfxb2fA+l6sND86B0Q+faFxGfpsIsmUZCYhJTfjvIez/sxhj4d8daPNI8kKyOTYGKT54C9SaYLHDPm3DLIMiqH0MR+R/9iyCZQkj4OV5cvJVtR8/TpmZx/tOpDmWcnAIVHgxfD4MTW6F6B+jwjpbTFJFrUmGWDO1CTDzv/bCbaWsPUjRfTj7p3Yh2dUo6NwXqUgSsehU2Tof8paHHTNeeySIi16HCLBmStZYVocf5z9fbOHkhlj5NK/Bcu+oUyJXdmQBJibBxGqz8D8RdhOZD4Y7nNbhL3GrEiBHejpBq/pjZadqPWTKcwxGuwV0/7z5FrVIFeKNzXRqUC3AuwJEN8M0I18pdgbe5HlsXr+lc+yLiFzy2H7OIr4hLSOLzNfuZuGoP2bIY/t2xFg83q+DcLlBRZ2DVaNgwFfKVgC5fQJ0uWrlLPGbXrl0AVK9e3ctJUs4fMztNhVkyhPX7Ixi1JJS9Jy/Svk5JXrmvNiUL5nKm8aRE2DQTVr4KMZGuOcmtXoBcDu7VLJnS4MGDAf+aE+yPmZ2mwix+7dSFWN5csYPFG49QtlBupvRrQusaDu4yemgtrBgJx0OgfHO4910oUdu59kUkw1FhFr+UmGSZ9fsh3vluFzHxiTzeqjJD76xK7hxZnQlwLgx++DdsWwwFymrDCRFxGxVm8TubDp/l5aWhhB45T/PKRRjdqQ5ViudzpvG4KPjtfdcfgFYvukZc58jjTPsikuGpMIvfOHspjre/28ncP8Monj8nH/RqSEentmW0FkIXwQ+vwPlw16CuNv+BAC3ELyLupcIsPi8pyTIvOIy3vt3JhZgEBrSoyLC7q5Evp0P/+4ZvgO9egrD1ULIedPkcKjR3pm2RGxg1apS3I6SaP2Z2mgqz+LSt4ZG8vDSUzWHnuCWwMKMfqE2Nkg6Ndj570DX9KXQR5C0O970PDftCFofeY4vcRJs2bbwdIdX8MbPTVJjFJ525FMc7yY+ti+TNwbhu9encqIwzj62jz8KacfD7Z2Cywu3PQ4uhWrVLfM7mzZsBaNCggZeTpJw/ZnaaCrP4lITEJGb9fphx3+/iUlwi/VtU5F9tqjqzlGZCHAR/AT+/BdHnoGFvaP1/UKC059sWSYNhw4YB/jUn2B8zO02FWXzG7/sjeOWrbew8foEWVYrw6n21qVrCgV6qtbDjK9fArrMHoFJraPsalKzr+bZFRK6iwixedzwyhjeW7+CrLUcpXTAXH/duRHundoA68Itrxa4jG6B4LeizCKroHZiIeI8Ks3hNTHwiX/x6gI9+2ktCkmXonVV4vFUVZxYJObrJtfPT/p9cC4Tc/yE0eEgDu0TE61SYxXHWWr7bdoIxy7cTdiaaNjVL8O+OtShfxIFFOk7vgR9fh+1LIHdhuOcNCBoA2R1aV1tE5CZUmMVRO4+fZ/TX21m7L4JqJfIxc0BTWlYt6vmGI4/Az2Nh0yzInhvueAGaPamNJsSvvfHGG96OkGr+mNlpKsziiDOX4njvh13M/v0wBXJnZ3Sn2jx0S3nPb8l48aRr+cw/Pgcs3DIIbhsB+Yp5tl0RBzRv7n8L3fhjZqepMItHxScmMWPdISas3M2luEQebhbIsDZVCciTw7MNXzr9v4KcGAv1erq2YixUwbPtijho7dq1gH8VO3/M7DQVZvEIay0/7jzJG8t3sO/UJW6rWpR/d6zl+elPUWdg7UT4fRIkREPdbq4FQopW8Wy7Il7w0ksvAf41J9gfMztNhVncbvvR84xZvp3f9kZQqWhe/vtwEHfVLO7Z6U9RZ2DdR/D7pxB3ybXJxB0joVg1z7UpIuIBKsziNifPx/Du97tYsCGcgrmz8+p9teh9awWye/I9ctQZWP+JqyDHnofaD7oKcvGanmtTRMSDVJgl3aLjEvl8zX4+/Xkf8YlJPNayIk+1rkrBPB5cRvPCCVj3Afw5GeIvQc37Xe+QS9T2XJsiIg5Ic2E2xpQDpgMlgSRgkrX2fWPMq8BA4FTyqS9Za5enN6j4nqQky5ebjvDOd7s4fj6GDnVLMrJdDSoUyeu5Rs+FuQZ1bZwOSfGuR9Ytn4EStTzXpoiIg9LTY04ARlhrNxpj8gMbjDE/JH9tvLX23fTHE1+1Zs8p3ly+k+3HzlOvbEE+eKghTQILe67BiH3w63uwZS5goEEvaDEMilT2XJsiPm7ChAnejpBq/pjZaWkuzNbaY8Cx5I8vGGN2AGXcFUx807ajkYxdsZM1e05TrnBu3u/ZgPvqlSZLFg8N7DoW4uohb1sMWXO4VulqMRQKlvVMeyJ+xB+3TvTHzE5zyztmY0wg0BD4HWgBPGWMeRgIxtWrPuuOdsR7ws9GMe773SzZfISCubPzcsda9Lm1PDmzeWBtaWth34+uaU/7V0OOfND8aWj2FOQr7v72RPzUypUrAWjTxn82XvHHzE4z1tr03cCYfMDPwBhr7WJjTAngNGCB14BS1tr+17huEDAIoHz58o0PHTqUrhziGZFR8Xy0ei9TfzuIMdC/ZUWG3FGZgrk9MLArMR62fQm/TYQTWyFfSbh1CDR+FHIHuL89ET/XqlUrwL/mBPtjZk8xxmyw1gZdfTxdPWZjTHZgETDLWrsYwFp74oqvfw4su9a11tpJwCSAoKCg9P12IG4XHZfItHUH+WT1Ps7HxNO1UVmG312N0gG53d9Y7AXXYK51H8P5cChWAzp95FocJFtO97cnIuLD0jMq2wBfADuste9dcbxU8vtngAeB0PRFFCfFJyYx788wJq7aw8kLsbSuXozn29WgZikPbPZw7rBrycwN0yA2Eiq0hI7v8f/t3XlwVWWexvHvLyQhJAIJYU9ICBiQRTYBWWxAFNsFl95GndZ2m9YeHZeZrp6a7upxqqv6D2e6x9GZHi0tdXBwRWzbdUREFClUBAFZAolAIAuQILsBAslv/ji3Z9CmycI999wbnk8VleRWuOe5tyBPznve9z2cPQvSQt5DW0QkSZ3OGfNU4EZgrZmtjj32C+B6MxtDMJRdCdxxWgklIZqbndc/r+XBheVs+7KB8cV5/O4vxzGxJM4zq93fIAAADjVJREFUrd1h+0fBpiAb3wAMhl0JU+6BwvPieywRkRR0OrOylwInm4qrNcspxN1ZvKmO3ywop2zHAc7p25Wnbh7PhUPjvIXm8aOw7uWgkHd+Dlm5QRlP+CvIHRC/44iIpDjt/HUGW751D79ZsJFPK/dSnJ8dztKngzthxVPBn6/qg+vHsx+CUddCZnb8jiNyBnrssceijtBmqZg50VTMZ6CV2/bybwvLWfrFbnp37cyvrxnJtRMGxG9Pa3fYugRWPAkb34Tm41D67WCG9aALIcybWYicQYYOHRp1hDZLxcyJpmI+g3xevY8HF5bz/qZ68nMy+eUVw7hhUjFZGXFai3x4L6x+Pjg7/rIiGK4+/ycw/lbt0CUSgtdffx2AK6+8MuIkrZeKmRPttNcxx8P48eN9xYoVUcfosDbUHuDBheW8W7aL3OwM7pg2mB9NLiancxx+L3OHms+Cs+N1L8PxI1A4Idiha8Q1kBHC8ioRAVJzTXAqZg5LKOuYJbmV7zrIQ++W89banXTNSufvZg3hlqkD6ZoVh81BDu+FtfNh1VzYsQYycmD09cHZcb9Rp//8IiJnKBVzB7Sh9gC/W1zB/6zbSU5mOvfMPJvbvjXo9Hfram6GyiWw6hkoez04O+5zLlz+22AyV1YIa51FRM4wKuYOZG31fv79vQoWbthF187p3DXjbG67oIS8nMzTe+J9VbD6OVj9TLApSOfuMPYGGHsj9ButyVwiInGkYu4AVm3fy3+89wXvbayjW1Y6911cyi1TSuiefRpnyI0NwYzqNc8HN5TAoWQ6zLwfhs3WtWMRkZComFPYiso9PLyogg8rdpOXncHPvj2UH00ubv815OYm2PoBfD4vGKpuPATdCmHaz2DsDyFvYFzzi8jpmTt3btQR2iwVMyeaijnFuDvvl9fz6OLNLK/cQ35OJj+/7BxumNTOWdbusGsdrHkhmMx1aCd07gYjvgOjr4OiKdq3WiRJDRiQervmpWLmRFMxp4jjTc28uXYHj76/mY07D9K/exb3zx7O9ROL6JLZjnXIe7YEt1hcOx/qNkBaOpReAqP+AoZcBhlZ8X8RIhJXL774IgDXXnttxElaLxUzJ5rWMSe5I8eaeGllNY8v2UzVnsOc3fssfjJ9MFeN7k9mehvPZPdWwvo/BIW8I3bfkcIJwYzqEd+FnPy45xeR8KTimuBUzBwWrWNOMfsPH+PZT7bx1NJKdh86yugBufzyiuHMGtanbXtZ76uCDbEyrlkZPFZwHlzyaxh+NeQWhfMCRESkXVTMSaZqTwNPLt3KvBVVNDQ28a3Sntw5YyyTBvVo/d2edlcEt1QsewNqYiMR/cbAxb8KduPSJC4RkaSlYk4SK7ft5YkPt7Bg/U7SzLhqdH9uvaCEkQXdW/7Lzc1Q+1lQxhvfhN3lweP9x8JF9wcTuXoMCvcFiIhIXKiYI3S8qZkF63fxxNItrNq+j25Z6dwxfTA3TR5I3+4tTL46dgS2LQ2KeONbwWzqtHQYeAFMvB2GXgbdCxPzQkREJG5UzBHY33CMl1ZWMWdZJdV7D1Ocn82vrhrB988rPPWSp33boeIdqHg3WG98rCHYo/rsi+Cc2TDkEuiSl7gXIiKRmj9/ftQR2iwVMyeaijmBNtQeYO7HlbyyqoYjx5qZMDCPf5w9nIuH9aHTySZ0HW+Eqo9jZbwQ6jcGj+cWwZgfQuksKJmmXbhEzlA9e/aMOkKbpWLmRFMxh+xYUzML1u/kv5dtY3nlHrIy0rhmTAE3Ti5mRP9vXD92h/pNsOX94Ix464fQeBDSMmDg1GBv6tJLoGep9qcWEebMmQPAzTffHGmOtkjFzImmdcwhqTtwhOeWb+e5T7ZTd/AoRT2yuXFSMT8YX0hu9gk3ldhfE5Twlg+CQj60M3g8byAMmhEUcck06Nw18S9CRJJaKq4JTsXMYdE65gRoanaWVNTzwvLtLCqr43izM31ILx74XjHTh/QOhqsP1MLaZbBtGVR++P8zqLN7BgU8aAYMmq4lTSIiZygVcxzU7DvMvE+reGlFFbX7j5Cfk8mtF5Rw/YQBlKTtgm0L4NWPYPuyYPctgMyuUDQJxt0UFHHvEdqTWkREVMztdaypmUVlu3jh0yo+KK8HYOags/jXSc6EjDLSa+fC0x/DoV3BX8jOh6LJMPEOKJ4Mfc6FTnr7RUTk69QMbeDurK89wB9W1fDqqmq6NVQyPXs79xXVMry5nMzaDVDTFHxz96Lg/sXFk6F4KvQcoglbIiLSIk3+aoXaPQdZ8tFHbFu3jB4HNzEyrZJR6dvJaT4UfENmVygYG9wQomA8FI6Hs3pHG1pEOryGhgYAsrOzI07SeqmYOSya/NVaRw5A/SaO1KyhuuwTvPZzChu3cJ01AtCUmYn3Hk56wfeDm0EUTgjOhtPacetFEZHTkIrlloqZE+3MLeajB4M1w3VlwcYddWU015WRdrAWgCygt2ezpVMJZQXfo2j4JHqWTqBTzyHQKSPa7CIiwCOPPALAnXfeGXGS1kvFzInWsYeyjx0JZkHv2Qxfbj7h4xY4UPN/39aUlklNehGrjvRlU1MBu7JKKBw6junnT2BsUV7r7+okIpJAqbgmOBUzh+XMGcreuw1euzso3/3VwAm/eHTpAfmDOVo4hfKmvizek89rtd3Y0tSbPt2zuXRCXy4/tx/jivJOvkWmiIhIyEIrZjO7FHgY6AQ84e4PhHWsr+ncFRoPBUuT8gdDj8E055VQ1tiLRZWNLN5Ux5pV+2h2KMzrwuVT+/EvI/sypjCXNJWxiIhELJRiNrNOwH8Cs4Bq4FMze83dN4RxvK/J7gE/fo+9XzWypKKeD8rqWVJRz+5DuzCDUYW53D2zlIuH9WFkQTcNU4uISFIJ64x5IvCFu28BMLMXgKuB0It56+6v+Om81ayuCs6K87IzmDakFzOG9mJaaS/yz+ocdgQREZF2C6uYC4CqE76uBs4/8RvM7HbgdoCioqK4Hbh3186YGXfPLGXG0F6MKszV9WIR6ZBScQJVKmZOtLCK+WRN+LXp3+7+OPA4BLOy43XgnM7pvPzXU+L1dCIiIgkV1l0TqoEBJ3xdCNSGdCwREZEOI6xi/hQoNbMSM8sErgNeC+lYIiIiHUYoQ9nuftzM/gZYQLBc6il3Xx/GsURERDqS0NYxu/tbwFthPb+IiEhHFNZQtoiIiLSDillERCSJqJhFRESSiIpZREQkiaiYRUREkoiKWUREJImomEVERJKIillERCSJqJhFRESSiLnH7cZO7Q9hVg9si/PT9gR2x/k5w6bMiaHMiaHMiaHMiRFG5mJ37/XNB5OimMNgZivcfXzUOdpCmRNDmRNDmRNDmRMjkZk1lC0iIpJEVMwiIiJJpCMX8+NRB2gHZU4MZU4MZU4MZU6MhGXusNeYRUREUlFHPmMWERFJOR2umM3sKTOrM7N1UWdpDTMbYGaLzazMzNab2b1RZ2qJmWWZ2XIzWxPL/KuoM7WWmXUys1Vm9kbUWVrLzCrNbK2ZrTazFVHnaQ0zyzWz+Wa2MfZve3LUmU7FzIbG3t8//jlgZvdFnaslZva3sf+D68zseTPLijpTS8zs3lje9cn6Hp+sR8ysh5ktNLOK2Me8sI7f4YoZmANcGnWINjgO/NTdhwGTgLvMbHjEmVpyFJjp7qOBMcClZjYp4kytdS9QFnWIdrjQ3cek0BKTh4G33f0cYDRJ/p67+6bY+zsGOA9oAF6JONYpmVkBcA8w3t1HAp2A66JNdWpmNhL4MTCR4N/FbDMrjTbVSc3hT3vkH4BF7l4KLIp9HYoOV8zuvgTYE3WO1nL3He7+WezzgwQ/wAqiTXVqHjgU+zIj9ifpJyuYWSFwBfBE1Fk6MjPrBkwDngRw90Z33xdtqja5CNjs7vHe9CgM6UAXM0sHsoHaiPO0ZBjwsbs3uPtx4APgOxFn+hN/pkeuBp6Off40cE1Yx+9wxZzKzGwgMBb4JNokLYsNCa8G6oCF7p70mYGHgL8HmqMO0kYOvGNmK83s9qjDtMIgoB74r9hlgyfMLCfqUG1wHfB81CFa4u41wG+B7cAOYL+7vxNtqhatA6aZWb6ZZQOXAwMiztRafdx9BwQnVEDvsA6kYk4SZnYW8DJwn7sfiDpPS9y9KTbsVwhMjA1RJS0zmw3UufvKqLO0w1R3HwdcRnCpY1rUgVqQDowDHnX3scBXhDjsF09mlglcBbwUdZaWxK5xXg2UAP2BHDO7IdpUp+buZcA/AwuBt4E1BJfz5AQq5iRgZhkEpfysu/8+6jxtERuifJ/kv64/FbjKzCqBF4CZZvZMtJFax91rYx/rCK57Tow2UYuqgeoTRlHmExR1KrgM+Mzdd0UdpBUuBra6e727HwN+D0yJOFOL3P1Jdx/n7tMIhosros7USrvMrB9A7GNdWAdSMUfMzIzgWlyZuz8YdZ7WMLNeZpYb+7wLwQ+IjdGmOjV3/7m7F7r7QIKhyvfcPanPLgDMLMfMuv7xc+ASguHApOXuO4EqMxsae+giYEOEkdrielJgGDtmOzDJzLJjP0cuIskn2QGYWe/YxyLgu6TO+/0acFPs85uAV8M6UHpYTxwVM3semAH0NLNq4J/c/cloU53SVOBGYG3smi3AL9z9rQgztaQf8LSZdSL45W6eu6fM8qMU0wd4Jfi5SzrwnLu/HW2kVrkbeDY2NLwFuCXiPC2KXfOcBdwRdZbWcPdPzGw+8BnBcPAqUmNHrZfNLB84Btzl7nujDvRNJ+sR4AFgnpndRvBL0Q9CO752/hIREUkeGsoWERFJIipmERGRJKJiFhERSSIqZhERkSSiYhYREUkiKmYREZEkomIWERFJIipmERGRJPK/M1xM9B0hpjkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(1, 10)\n",
    "y_1 = 8*x*np.log(x)\n",
    "y_2 = 2*(x**2)\n",
    "\n",
    "plt.figure(figsize=(8, 6))\n",
    "\n",
    "plt.plot(x, y_1, label='$8nlog^n$')\n",
    "plt.plot(x, y_2, label='$2n^2$')\n",
    "plt.plot((8, 8), (0, 200), color='black', linestyle = '--')\n",
    "plt.plot((9, 9), (0, 200), color='black', linestyle = '--')\n",
    "\n",
    "plt.xticks(ticks=range(1, 11), labels=range(1, 11))\n",
    "\n",
    "plt.legend(loc='upper left')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " R-3.3"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x16bff5e91d0>"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(1, 25)\n",
    "y_1 = 40*(x**2)\n",
    "y_2 = 2*(x**3)\n",
    "\n",
    "plt.figure(figsize=(8, 6))\n",
    "\n",
    "plt.plot(x, y_1, label='$8nlog^n$')\n",
    "plt.plot(x, y_2, label='$2n^2$')\n",
    "plt.plot((20, 20), (0, 30000), color='black', linestyle = '--')\n",
    "plt.scatter((20), (2*20**3), color='black')\n",
    "\n",
    "plt.xticks(ticks=range(1, 26), labels=range(1, 26))\n",
    "\n",
    "plt.legend(loc='upper left')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "C-3.35"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "三集不相交问题，用排序算法来解决可以达到$O(nlog^n)$的运行时间。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "C-3.41"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "以少于$\\frac{3n}{2}$的比较次数，从n个数字中找出最小值和最大值。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "先两两比较，大的放一个数组里，小的放一个数组里，$\\frac{n}{2}$次；两个数组各自用打擂台法求最大值和最小值，$n-2$次，共$\\frac{3n}{2}-2$次。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "C-3.45"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "一个序列s，含[0, 99]范围内99个不重复的正整数，如何用时间复杂度为O(n)，除s外额外空间为O(1)的算法来找出没有在s中的整数？"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "解法：0-99求和减去s求和。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.2"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
